


<!doctype html>
<html lang="zh" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
      
      
        <meta name="author" content="老黄 QQ76614842">
      
      <link rel="shortcut icon" href="../assets/images/favicon.png">
      <meta name="generator" content="mkdocs-1.1, mkdocs-material-5.1.6">
    
    
      
        <title>物联网设备云平台产品设计 - 荔枝派licheepi Nano开发指南</title>
      
    
    
      <link rel="stylesheet" href="../assets/stylesheets/main.4b9ffd7b.min.css">
      
        <link rel="stylesheet" href="../assets/stylesheets/palette.b79bcd20.min.css">
      
      
        
        
        <meta name="theme-color" content="#546e7a">
      
    
    
    
      
        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
        <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
      
    
    
    
    
      
    
    
  </head>
  
  
    
    
    <body dir="ltr" data-md-color-primary="blue-grey" data-md-color-accent="pink">
  
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#1" class="md-skip">
          跳转至
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
      <header class="md-header" data-md-component="header">
  <nav class="md-header-nav md-grid" aria-label="Header">
    <a href=".." title="荔枝派licheepi Nano开发指南" class="md-header-nav__button md-logo" aria-label="荔枝派licheepi Nano开发指南">
      
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>

    </a>
    <label class="md-header-nav__button md-icon" for="__drawer">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
    </label>
    <div class="md-header-nav__title" data-md-component="header-title">
      
        <div class="md-header-nav__ellipsis">
          <span class="md-header-nav__topic md-ellipsis">
            荔枝派licheepi Nano开发指南
          </span>
          <span class="md-header-nav__topic md-ellipsis">
            
              物联网设备云平台产品设计
            
          </span>
        </div>
      
    </div>
    
      <label class="md-header-nav__button md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
      </label>
      
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
      <label class="md-search__icon md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </label>
      <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
      </button>
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            Initializing search
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
  </nav>
</header>
    
    <div class="md-container" data-md-component="container">
      
        
      
      
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href=".." title="荔枝派licheepi Nano开发指南" class="md-nav__button md-logo" aria-label="荔枝派licheepi Nano开发指南">
      
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>

    </a>
    荔枝派licheepi Nano开发指南
  </label>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-1" type="checkbox" id="nav-1">
    
    <label class="md-nav__link" for="nav-1">
      技术部分
      <span class="md-nav__icon md-icon">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>
      </span>
    </label>
    <nav class="md-nav" aria-label="技术部分" data-md-level="1">
      <label class="md-nav__title" for="nav-1">
        <span class="md-nav__icon md-icon">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
        </span>
        技术部分
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href=".." title="硬件初窥" class="md-nav__link">
      硬件初窥
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-u-boot" class="md-nav__link">
      软件-u-boot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-linux" class="md-nav__link">
      软件-linux
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-设备树节点添加" class="md-nav__link">
      软件-设备树节点添加
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-根文件系统剪裁编译" class="md-nav__link">
      软件-根文件系统剪裁编译
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-2.4MB精简根文件系统" class="md-nav__link">
      软件-2.4MB精简根文件系统
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-spi-flash编译" class="md-nav__link">
      软件-spi-flash编译
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-nand-flash编译" class="md-nav__link">
      软件-nand-flash编译
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../test/" title="软件-linux驱动程序编写" class="md-nav__link">
      软件-linux驱动程序编写
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2" checked>
    
    <label class="md-nav__link" for="nav-2">
      物联网架构和产品规划
      <span class="md-nav__icon md-icon">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>
      </span>
    </label>
    <nav class="md-nav" aria-label="物联网架构和产品规划" data-md-level="1">
      <label class="md-nav__title" for="nav-2">
        <span class="md-nav__icon md-icon">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
        </span>
        物联网架构和产品规划
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          

  


  <li class="md-nav__item md-nav__item--active">
    
    <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
    
      
    
    
      <label class="md-nav__link md-nav__link--active" for="__toc">
        物联网设备云平台产品设计
        <span class="md-nav__icon md-icon">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>
        </span>
      </label>
    
    <a href="./" title="物联网设备云平台产品设计" class="md-nav__link md-nav__link--active">
      物联网设备云平台产品设计
    </a>
    
      
<nav class="md-nav md-nav--secondary" aria-label="目录">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </span>
      目录
    </label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#11" class="md-nav__link">
    1.1目的
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#12" class="md-nav__link">
    1.2背景
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#13" class="md-nav__link">
    1.3定义
  </a>
  
</li>
      
    </ul>
  
</nav>
    
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../fbaqg/" title="防爆柜安全云平台及安全卫士" class="md-nav__link">
      防爆柜安全云平台及安全卫士
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../zhlk/" title="智慧粮库" class="md-nav__link">
      智慧粮库
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../hxsjg/" title="智能试剂管理柜" class="md-nav__link">
      智能试剂管理柜
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../zhgdy/" title="智慧工地云" class="md-nav__link">
      智慧工地云
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../zhsqy/" title="智慧社区云" class="md-nav__link">
      智慧社区云
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-nav__toggle md-toggle" data-md-toggle="nav-2-7" type="checkbox" id="nav-2-7">
    
    <label class="md-nav__link" for="nav-2-7">
      工程机械车联网
      <span class="md-nav__icon md-icon">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>
      </span>
    </label>
    <nav class="md-nav" aria-label="工程机械车联网" data-md-level="2">
      <label class="md-nav__title" for="nav-2-7">
        <span class="md-nav__icon md-icon">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
        </span>
        工程机械车联网
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../jxssc/" title="无锡钻通水平钻机" class="md-nav__link">
      无锡钻通水平钻机
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../jxsktxw/" title="CAT卡特彼勒小挖" class="md-nav__link">
      CAT卡特彼勒小挖
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary" aria-label="目录">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </span>
      目录
    </label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#11" class="md-nav__link">
    1.1目的
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#12" class="md-nav__link">
    1.2背景
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#13" class="md-nav__link">
    1.3定义
  </a>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content">
            <article class="md-content__inner md-typeset">
              
                
                
                  
                
                
                <p><strong>物联网设备云平台产品设计</strong></p>
<p><strong>项目立项书</strong></p>
<p>项目名称： <em>xxxx公司物联网设备云平台</em></p>
<p>企业名称： <em>xxxx公司</em></p>
<p>项目编号： <em>SBY001</em></p>
<p>项目负责人： <em>xx作者</em></p>
<p>联系电话： <em>xxxxxxxxxxxx</em></p>
<p>项目起止时间：<em>2020</em>年<em>4</em>月至<em>2020</em>年<em>7</em>月</p>
<p>日期：2020年4月10日</p>
<h1 id="1"><br>1．引言</h1>
<h2 id="11"><strong>1.1目的</strong></h2>
<p>本项目的目标是建立一个xxxx公司通用的物联网设备平台，包含如下几个方面：</p>
<ol>
<li>
<p>能够接入xxxx公司业务范围内的除摄像头视频外的所有设备（一般是非标准、需要开发协议的设备）</p>
</li>
<li>
<p>能够为xxxx公司的各业务平台提供设备服务支撑：满足对设备信息采集、控制的要求。</p>
</li>
<li>
<p>能够综合展示xxxx公司接入的所有设备：领域、设备数量、数据量、在线状态、地理分布、供应商、用户等，可以按照地域展开。</p>
</li>
</ol>
<h2 id="12"><strong>1.2背景</strong></h2>
<p>公司在粮食、水利、校园等方面接入了很多设备，但是基本上都是按照项目的形式来进行接入，每个项目按照不同的设备类型、协议，写不同的对接程序，用本地互联的模式进行对接，一方面资源没有整合，另一方面维护比较困难，同时也没有将数据进行集中采集，无法对数据进行有效利用，如数据分析、推广等。</p>
<p>物联网是国家支持的重点领域，随着国家的发展，会有越来越多的智能设备可以接入、连接，本次新冠疫情的发展，也使得社会对非接触式的信息采集和控制的要求越来越多，极大促进智能物联网产业的发展。</p>
<p>公司当前进入的几个重点领域如智慧工地、智慧粮食、智慧水利、智慧校园等，其中都有很多物联网设备的接入，如果每个业务平台都开发自己的设备接入系统，最终会形成一个个单独的平台，不能进行资源、数据的共同利用。</p>
<p>公司目前要进入资本市场，需要一个有吸引力的亮点来支撑技术层级，智能物联网平台的“万物互联”概念，是最一个极好的切入点。</p>
<p>当前云平台和物联网通讯、构架的技术越来越成熟，公司可以利用这些技术，搭建一个统一的物联网平台，将公司所有涉及领域和项目的物联网设备进行统一接入，然后和各平台实现信息交互，为各应用平台提供设备连接和通讯服务。</p>
<h2 id="13"><strong>1.3定义</strong></h2>
<p>为了在后续的沟通中统一概念，特进行如下定义</p>
<ol>
<li>业务平台</li>
</ol>
<p>xxxx公司的各业务平台，实现具体的业务管理，如粮食、校园、社区等，通过物联网设备平台和设备进行交互</p>
<ol>
<li>物联网设备云平台</li>
</ol>
<p>负责所有xxxx公司物联网设备的集成。对下和设备、边缘计算通讯，对上未个业务平台提供设备相关服务。</p>
<p>该平台只保存短时间内的数据，不对各业务平台的数据做长期保存（后期可以提供数据仓库服务。）
可以按年月日分别保存数据，历史数据整理入历史库</p>
<ol>
<li>第三方平台</li>
</ol>
<p>本公司平台外的其它平台，包括业务平台、设备平台，如运营商的NB接入平台等。有些设备需要通过第三方平台接入，有些服务可以供第三方平台进行调用</p>
<ol>
<li>边缘网关 第一步做到边缘网关</li>
</ol>
<p>在本地端的计算服务，对下负责连接本地的所有设备，对上负责连接物联网设备云平台。</p>
<p>一般只做数据透传，不做数据解析、逻辑控制。</p>
<ol>
<li>边缘计算服务器</li>
</ol>
<p>在边缘网关的基础上，做基本的数据解析，并将解析过的数据解析初步的处理，根据设定的逻辑对本地部分设备进行控制。</p>
<ol>
<li>物联网节点</li>
</ol>
<p>主要是指可以通讯的本地采集、动作设备，可以通过网关连接设备云平台，也可以通过网络、第三方平台直接连接云平台。</p>
<ol>
<li>数据解析协议</li>
</ol>
<p>各物联网设备数据格式各不相同，要转换成标准的数据，必须通过数据解析进行。一般是设备自带的协议。</p>
<ol>
<li>通讯</li>
</ol>
<p>节点和网关之间可以通过网络接入，也可以通过485、lora等形式接入。</p>
<p>设备也可以通过NG等直接接入云平台，或者通过第三方平台接入云平台。</p>
<p>网关和云平台之间通过骨干网络接入。</p>
<p><strong>1.4关键技术分析</strong></p>
<p>由于硬件设备种类繁多，并且由各个厂家制造，通讯方式有的支持局域网应用，有些不支持，有些直接支持通过远程互联网应用，但本平台必须要有一个通用统一的方式来适配，所以计划采用一种通用解决方案，开发一个高性能的反向代理应用，可以帮助您轻松地进行内网穿透，对外网提供服务，支持
tcp/udp, http, https 等协议类型，并且 web
服务支持根据域名进行路由转发。例如在家里通过 ssh
访问处于公司内网环境内的主机，支持kcp协议和点对点穿透。利用处于内网或防火墙后的机器，对外网环境提供
http 或 https 服务。</p>
<p><strong>1.5反向代理的作用</strong></p>
<p>利用处于内网或防火墙后的机器，对外网环境提供 http 或 https 服务。</p>
<p>对于 http
服务支持基于域名的虚拟主机，支持自定义域名绑定，使多个域名可以共用一个80端口。</p>
<p>利用处于内网或防火墙后的机器，对外网环境提供 tcp 服务，例如在家里通过 ssh
访问处于公司内网环境内的主机。</p>
<p>可查看通过代理的所有 http 请求和响应的详细信息。</p>
<p><strong>1.6反向代理的架构</strong></p>
<p><img alt="" src="../media/9259750ce43329e09be975caa66cba5b.jpg" /></p>
<p><strong>1.7端口转发设计图</strong></p>
<p><img alt="" src="../media/99b5fb7aea50f27ff3fc6782e62c83ed.jpg" /></p>
<p><strong>1.8支持的硬件协议类型</strong></p>
<table>
<thead>
<tr>
<th><strong>平台或设备接入</strong></th>
<th><strong>协议类型</strong></th>
<th><strong>协议内容</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>平台</td>
<td>http / https</td>
<td>json格式数据解析</td>
</tr>
<tr>
<td>设备</td>
<td>Socket</td>
<td>各家定制私有协议</td>
</tr>
<tr>
<td>设备</td>
<td>485/Can/MODBUS/RS232/EtherCat/UART</td>
<td>根据文档确定</td>
</tr>
</tbody>
</table>
<p><strong>1.9组织实施方式</strong></p>
<p>公司有研发中心，根据市场需求，经公司总经理批准，成立该项目的研发组由任项目负责人，进行独立开发，并管理开发进程；项目经理根据客户要求编写总体开发计划；研发工程师根据时间表和市场需求，编写实验验证计划并完成产品设计方案的提交并收集资料及归档，同时完成专利的申报；财务部门负责资金流的管理。</p>
<p><strong>1.10核心技术</strong></p>
<p>(1)Java</p>
<ol>
<li>
<p>开发工具 idea</p>
</li>
<li>
<p>开发环境 Java HotSpot(TM) 64-Bit Server VM Maven 3.5.0 +</p>
</li>
<li>
<p>主要开发框架 Spring boot 2.2.4.RELEASE mybatis-plus 3.3.1</p>
</li>
<li>
<p>代码风格 Google Java Format Style</p>
</li>
<li>
<p>代码规范见 阿里巴巴Java开发手册</p>
</li>
<li>
<p>数据库 MySql 5.7</p>
</li>
</ol>
<p>(2)Android</p>
<ol>
<li>
<p>开发工具 AndroidStudio 3.4+ gradle tools 3.4.+</p>
</li>
<li>
<p>开发语言 Java</p>
</li>
<li>
<p>部分开发框架 retrofit2 greendao</p>
</li>
<li>
<p>代码风格 Alibaba Java Coding Guidelines</p>
</li>
<li>
<p>代码规范见 阿里巴巴Android开发手册</p>
</li>
</ol>
<p>(3) IOS</p>
<ol>
<li>
<p>开发工具 Xcode 11.3+</p>
</li>
<li>
<p>开发语言 Objective-C或 Swift5+</p>
</li>
<li>
<p>网络框架 AFNetworking 或 Alamofire</p>
</li>
<li>
<p>代码规范 苹果cocoa编码规范</p>
</li>
</ol>
<p>(4) Web</p>
<ol>
<li>
<p>开发工具 Visual Studio Code 或 WebStorm</p>
</li>
<li>
<p>开发语言 JavaScript</p>
</li>
<li>
<p>开发框架 Vue、ant-design-vue</p>
</li>
<li>
<p>网络框架 Axios</p>
</li>
<li>
<p>代码规范 Eslint</p>
</li>
</ol>
<p><strong>1.11创新点</strong></p>
<p>(1)、将传统的设备全部上云，集中管理，数据统一格式便于计算统计利用，形成大数据分析，帮助使用客户进行精细化管理；</p>
<p>(2)、使用主流Vue框架，同时将Web端移动端有效结合，提高工作效率；</p>
<p>(3)、管理智能化，有效查看设备情况；</p>
<p>(4)、界面设计美观、业务流程清晰、功能模块易于操作、体系结构关联紧密。</p>
<h1 id="2">2．项目概述</h1>
<h2 id="21"><strong>2.1项目目标</strong></h2>
<p>感知层、设备层、业务层、展示层、控制层、网络层、应用层为物联网的主要分层。根据物联网这一架构，将本系统主要分为四个部分，分别是数据采集端、数据分析端、数据信息清洗终端、数据仓储管理平台，其中重点研究数据信息清洗终端。</p>
<p>感知层相当于物联网的“触角”，是物联网的基础，它包括了传感器、各种接入的硬件设备、RFID等数据采集设备；网络层是建立在现有的无线通信网和互联网的基础之上，通过连接各种通信设备与互联网，实现数据的接收、处理、发送等功能，位于连接感知层和应用层之间；物联网应用层主要是将经过感知层分析处理的数据进行管理、计算、保存、分析等操作为用户提供丰富的特定服务，其位于物联网架构的最上层。</p>
<p>数据采集端采集仓库内部信息通过宽带、ZigBee、NBIoT模块、2G/3G/4G/5G等发给协议解析层；对接收的传感器数据进行分析和预处理并发送控制命令给相关设备实时监控仓储；数据信息清洗终端采用的是物联网中间件技术即RFID中间件对接收的RFID数据流进行二次数据清洗处理操作；应用程序服务器是企业的信息处理系统服务器，主要是将中间件系统传来的RFID数据流以及相关事件流进行业务逻辑处理，使这些数据变成易懂及可视化信息；PC客户端是方便管理人员远程登录访问服务器管理仓储内部业务，及时了解信息等。</p>
<p>项目开发时间期限：</p>
<table>
<thead>
<tr>
<th>任务</th>
<th>时间</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>项目立项书主体</td>
<td>2020.04.10—2020.04.10</td>
<td></td>
</tr>
<tr>
<td>项目需求调研</td>
<td>2020.04.10—2020.04.11</td>
<td></td>
</tr>
<tr>
<td>项目设计及讨论</td>
<td>2020.04.11—2020.04.13</td>
<td></td>
</tr>
<tr>
<td>软件系统开发、测试</td>
<td>2020.04.13—2021.06.27</td>
<td></td>
</tr>
<tr>
<td>项目验收</td>
<td>2021.06.27—2021.07.02</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="22"><strong>2.2项目工作内容</strong></h2>
<h3 id="221">2.2.1 系统架构设计</h3>
<p><img alt="" src="../media/2f2ef6ea365f76a6f779fada0c881cb8.jpg" /></p>
<ol>
<li>
<p>各业务平台通过物联网设备平台和设备进行交互</p>
</li>
<li>
<p>各应用场景中的物联网设备和业务平台，通过设备平台构成业务网络。</p>
</li>
</ol>
<h3 id="222">2.2.2 系统总体设计</h3>
<p>根据业务需求，确定分布式，多层次的系统架构，易于扩展和维护。</p>
<p><img alt="" src="../media/17277c443d89704857454fe24387a1bf.jpg" /></p>
<p><img alt="" src="../media/efd79cac2176c39936a80c5a510c140c.jpg" /></p>
<h3 id="223">2.2.3 系统详细设计</h3>
<ol>
<li><strong>业务及数据流转逻辑图</strong></li>
</ol>
<p><img alt="" src="../media/3d659f5488cc01269bb3a2240678dfee.jpg" /></p>
<ol>
<li><strong>采集数据类型及协议方式</strong></li>
</ol>
<table>
<thead>
<tr>
<th>数据类型</th>
<th>云端通信方式</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>设备采样数据</td>
<td>队列SDK</td>
<td>队列是按占用时长和次数64k每次</td>
</tr>
<tr>
<td>盒子程序固件</td>
<td>http 下载</td>
<td></td>
</tr>
<tr>
<td>盒子心跳</td>
<td>UDP 上报</td>
<td></td>
</tr>
<tr>
<td>盒子实时配置信息</td>
<td>队列消息/HTTP</td>
<td></td>
</tr>
<tr>
<td>其他非实时性数据</td>
<td>队列消息/HTTP</td>
<td></td>
</tr>
</tbody>
</table>
<ol>
<li>
<p><strong>应用程序构建</strong></p>
</li>
<li>
<p>消息体设计，设备数据封装成消息体</p>
</li>
<li>
<p>解析服务：负责从队列获取数据并解析成对应格式数据，额外业务（状态，数据存储）</p>
</li>
<li>
<p>rest服务：负责盒子获取固件，配置，心跳</p>
</li>
<li>
<p>盒子程序：负责设备数据中转上报至队列，下发设备控制命令，订阅控制命令，消息体封包拆包等。</p>
</li>
<li>
<p>Bs程序：设备管理、盒子管理，状态监管，数据展示</p>
</li>
<li>
<p><strong>程序构建图：</strong></p>
</li>
</ol>
<p><img alt="" src="../media/6bf56545d85ffad5243893b43300939f.jpg" /></p>
<h2 id="23"><strong>2.3平台部分原型设计</strong></h2>
<p>1、物理模型设计</p>
<p><img alt="" src="../media/9b4beee8843e63aab1f7d5d7ad333116.jpg" /></p>
<p><img alt="" src="../media/4e68741decff2b8854796affd9c7f860.jpg" /></p>
<p><img alt="" src="../media/f79579e86606ba15933ee8562bc78521.jpg" /></p>
<ol>
<li>智能模板</li>
</ol>
<p><img alt="" src="../media/6f6794630dbdc1b7eb862b43f09fda1e.jpg" /></p>
<p><img alt="" src="../media/0af37075950f7ac814b6a85ffde6baa6.jpg" /></p>
<p><img alt="" src="../media/e0a97b846a8035b5433f001eefa7eada.jpg" /></p>
<p><img alt="" src="../media/8c76a2973cf958888f155f96e6958edc.jpg" /></p>
<p><img alt="" src="../media/98c77d65d3e8282a7c46d2e000110de4.jpg" /></p>
<h2 id="24"><strong>2.4项目应交付成果</strong></h2>
<table>
<thead>
<tr>
<th><strong>序号</strong></th>
<th><strong>项目名称</strong></th>
<th><strong>数量</strong></th>
<th><strong>备注</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>1</strong></td>
<td><strong>xxxx公司物联网设备云平台</strong></td>
<td><strong>1</strong></td>
<td></td>
</tr>
</tbody>
</table>
<h1 id="3">3．项目团队组织</h1>
<h2 id="31"><strong>3.1主要研发人员分工</strong></h2>
<table>
<thead>
<tr>
<th><strong>序号</strong></th>
<th><strong>姓名</strong></th>
<th><strong>经验</strong></th>
<th><strong>职称</strong></th>
<th><strong>分工</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>xx作者</td>
<td>15年以上</td>
<td>技术负责人</td>
<td>技术总负责人，大型互联网架构设计、技术选型、框架、团队管理</td>
</tr>
<tr>
<td>2</td>
<td>待定</td>
<td>7年以上</td>
<td>Java后台开发</td>
<td>后端开发</td>
</tr>
<tr>
<td>3</td>
<td>待定</td>
<td>5年以上</td>
<td>Java后台开发</td>
<td>后端开发</td>
</tr>
<tr>
<td>4</td>
<td>待定</td>
<td>5年以上</td>
<td>前端开发</td>
<td>前端开发</td>
</tr>
<tr>
<td>5</td>
<td>待定</td>
<td>5年以上</td>
<td>前端开发</td>
<td>前端开发</td>
</tr>
<tr>
<td>6</td>
<td>待定</td>
<td>1年以上</td>
<td>前端开发</td>
<td>前端开发</td>
</tr>
</tbody>
</table>
<h1 id="4">4．项目实施计划</h1>
<h2 id="41"><strong>4.1工作流程</strong></h2>
<p><img alt="" src="../media/3a9229581e560dfd7cf63db21a100287.jpg" /></p>
<h2 id="42"><strong>4.2项目控制计划</strong></h2>
<p>项目控制主页从进度控制、质量控制和预算控制三个方面入手，三个方面失控将互相影响，整个项目将无法控制。</p>
<h3 id="421">4.2.1进度控制计划</h3>
<p>1、锁定需求，避免无休止的变更。</p>
<p>2、工作任务安排要合理，保证良好的协作和沟通</p>
<p>3、人力和资金要准确到位。</p>
<p>4、人力、时间和资金预留应急空间。</p>
<h3 id="422">4.2.2质量控制计划</h3>
<p>1、需求分析要求评审。</p>
<p>2、总体设计要评审、多次讨论。</p>
<p>3、详细设计要统一、规范。</p>
<p>4、规范、全面、严格的测试。</p>
<p>5、完整的文档。</p>
<h1 id="5">5．项目成本估算</h1>
<h2 id="51"><strong>5.1人员成本</strong></h2>
<table>
<thead>
<tr>
<th>项目</th>
<th>单月</th>
<th>总费用（12个月）</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>工资（6人）</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>机动</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>合计</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="52"><strong>5.2服务器成本</strong></h2>
<p>应用服务器租赁,目前使用<a href="http://xxxxxxxxxxxxxx:1000/">http://xxxxxxxxxxxxxx:1000/</a>源码管理git，<a href="http://xxxxxxxxxxxxxx:1001/">http://xxxxxxxxxxxxxx:1001/</a>所有接口文档管理小幺鸡，mysql数据库、redis缓存库、rabbitMQ消息队列</p>
<p>缓存服务器租赁,数据库服务器租赁（在软件开发后作为运维投入成本）。</p>
<h2 id="53"><strong>5.3其它成本</strong></h2>
<p>办公电脑、场地费用、打印机和纸张、耗材等</p>
<h2 id="54"><strong>5.4合计预算</strong></h2>
<p>项目预计总成本约。</p>
                
              
              
                


              
            </article>
          </div>
        </div>
      </main>
      
        
<footer class="md-footer">
  
    <div class="md-footer-nav">
      <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
        
          <a href="../test/" title="软件-linux驱动程序编写" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
            <div class="md-footer-nav__button md-icon">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
            </div>
            <div class="md-footer-nav__title">
              <div class="md-ellipsis">
                <span class="md-footer-nav__direction">
                  上一页
                </span>
                软件-linux驱动程序编写
              </div>
            </div>
          </a>
        
        
          <a href="../fbaqg/" title="防爆柜安全云平台及安全卫士" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
            <div class="md-footer-nav__title">
              <div class="md-ellipsis">
                <span class="md-footer-nav__direction">
                  下一页
                </span>
                防爆柜安全云平台及安全卫士
              </div>
            </div>
            <div class="md-footer-nav__button md-icon">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
            </div>
          </a>
        
      </nav>
    </div>
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-footer-copyright">
        
          <div class="md-footer-copyright__highlight">
            版权所有 <img src="http://wpa.qq.com/pa?p=4:76614842:4"/><a href="tencent://message/?uin=76614842&Site=licheepi文档&Menu=yes">76614842</a>
          </div>
        
        <!--Made with
        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
          Material for MkDocs
        </a>-->
      </div>
      
    </div>
  </div>
</footer>
      
    </div>
    
      <script src="../assets/javascripts/vendor.a0c4167b.min.js"></script>
      <script src="../assets/javascripts/bundle.fb26dd1d.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "\u590d\u5236", "clipboard.copied": "\u5df2\u590d\u5236", "search.config.lang": "ja", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\uff0c\\u3002]+", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c"}</script>
      
      <script>
        app = initialize({
          base: "..",
          features: [],
          search: Object.assign({
            worker: "../assets/javascripts/worker/search.37585f48.min.js"
          }, typeof search !== "undefined" && search)
        })
      </script>
      
    
  </body>
</html>